import dateParse from "./date-parse.js";
import dateDayOfYear from "./date-day-of-year.js";
import dateWeekOfYear from "./date-week-of-year.js";

/**
 * @description 获取日期数据
 * @param {String|Number|Date} date 日期数据
 * @returns {Object} 日期数据
 * @property {Number} year 年份
 * @property {Number} month 月份
 * @property {Number} day 日期
 */
export default function dateData(date) {
	date = dateParse(date);
	// 年
	const year = date.getFullYear();
	// 月
	const month = date.getMonth() + 1;
	// 日
	const day = date.getDate();
	// 周几
	const week = date.getDay();
	// 时
	const hour = date.getHours();
	// 分
	const minute = date.getMinutes();
	// 秒
	const second = date.getSeconds();
	// 毫秒
	const millisecond = date.getMilliseconds();
	// 一年中的第几天
	const dayOfYear = dateDayOfYear(date);
	// 一年中的第几周
	const weekOfYear = dateWeekOfYear(date);

	// 返回日期数据
	return {
		year,
		month,
		day,
		week,
		hour,
		minute,
		second,
		millisecond,
		dayOfYear,
		weekOfYear
	};
}
